import { RjModal } from '@components';
import { i18nRender } from '@/locales';
/**
 * params 确定离开页面的成功方法用到的参数对象{}
 * successCallback 确定离开的回调方法
 * cancelBack  保留在当前页面的回调方法
 * 页面发生变化需要用户确认的 需要注册 window.PageCheck
 * {
 * isCheck:true/false,
 * msg:'' 提示信息
 * }
 */
const checkPage = function (params, successCallback, cancelBack) {
  if (window.PageCheck && window.PageCheck.length > 0) {
    for (let i = 0; i < window.PageCheck.length; i++) {
      let rest = window.PageCheck[i]();
      if (rest.isCheck) {
        RjModal.confirm({
          title: i18nRender('common.tip'),
          content: rest.msg,
          onOk() {
            successCallback && successCallback(params);
          },
          onCancel() {
            cancelBack && cancelBack();
          },
        });
        return false;
      }
    }
  }
  return true;
};

export { checkPage };
